package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.business.vo.DrInfoImport;
import com.ruoyi.system.domain.Drinfo;
import com.ruoyi.system.domain.Qstag;
import com.ruoyi.system.domain.RegGroup;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 设备信息管理Service接口
 * 
 * @author yaozh
 * @date 2024-03-01
 */
public interface IDrinfoService 
{
    /**
     * 查询设备信息管理
     * 
     * @param drid 设备信息管理主键
     * @return 设备信息管理
     */
    public Drinfo selectDrinfoByDrid(Long drid,String dbName);

    public List<Drinfo> findAllDrinfo(String dbName);

    int saveDevice(String dBname, Drinfo drinfo, Map<String,String> qsTagMap);
    int saveOrUpdateDevice(String dBname, Drinfo drinfo, Map<String,String> qsTagMap, List<Drinfo> oldList);
    int saveVirtualDevice(String dbName, Drinfo drInfo, List<Drinfo> oldList,List<RegGroup> groupList);

    /**
     * 查询设备信息管理列表
     * 
     * @param drinfo 设备信息管理
     * @return 设备信息管理集合
     */
    public List<Drinfo> selectDrinfoList(Drinfo drinfo,String dbName);

    public List<Drinfo> selectByDrTypeId(Long drTypeId,String dbName);

    /**
     * 新增设备信息管理
     * 
     * @param drinfo 设备信息管理
     * @return 结果
     */
    public int insertDrinfo(Drinfo drinfo,String dbName);

    /**
     * 修改设备信息管理
     * 
     * @param drinfo 设备信息管理
     * @return 结果
     */
    public int updateDrinfo(Drinfo drinfo,String dbName);

    /**
     * 批量删除设备信息管理
     * 
     * @param drids 需要删除的设备信息管理主键集合
     * @return 结果
     */
    public int deleteDrinfoByDrids(Long[] drids,String dbName);

    /**
     * 删除设备信息管理信息
     * 
     * @param drid 设备信息管理主键
     * @return 结果
     */
    public int deleteDrinfoByDrid(Long drid,String dbName);

    public String importDrInfo(List<Drinfo> drInfoList, Boolean isUpdateSupport, String operaName, String dbName);

    public String importDrInfoInit(List<DrInfoImport> drInfoList, Boolean isUpdateSupport, String operaName, String dbName);
}
